import React from 'react';
import { Route } from 'react-router-dom';
import { getToken } from '../utils/storage';

export default function AuthRoute(props) {
  const { path, component: Comp } = props;
  return (
    <Route
      path={path}
      // Route组件第一种写法
      // component={Layout}
      // Route组件第二种写法
      // 1.将component属性改为render写法
      render={(props) => {
        // console.log('props  ---  ', props);
        if (getToken()) {
          // 有token
          //render函数一定要有返回值，返回值是一个组件
          //2.把原本的history等props要设置返回给组件
          //一定要把形参中的props,设置给返回的组件
          return <Comp {...props}></Comp>;
        } else {
          // 没有token  回到登录页
          props.history.push('/login');
        }
      }}
    ></Route>
  );
}
